Add some more unsorted types
authorFelix Krull <f_krull@gmx.de>
Tue, 21 May 2019 18:55:21 +0000 (20:55 +0200)
committerColin Walters <walters@verbum.org>
Fri, 6 May 2022 16:53:53 +0000 (12:53 -0400)
rust-bindings/rust/conf/ostree.toml
rust-bindings/rust/src/auto/diff_item.rs [new file with mode: 0644]
rust-bindings/rust/src/auto/enums.rs
rust-bindings/rust/src/auto/flags.rs
rust-bindings/rust/src/auto/functions.rs
rust-bindings/rust/src/auto/gpg_verifier.rs [new file with mode: 0644]
rust-bindings/rust/src/auto/mod.rs
rust-bindings/rust/src/auto/mutable_tree_iter.rs [new file with mode: 0644]
rust-bindings/rust/src/auto/repo.rs
rust-bindings/rust/src/auto/repo_finder.rs [new file with mode: 0644]
rust-bindings/rust/src/auto/repo_finder_result.rs [new file with mode: 0644]

index d2159541f3e7038003e50998fa6f88d0a5f5aa60..e54a88e470cf9dbfadcb6d03abcdce4db9a94340 100644 (file)
@@ -13,8 +13,12 @@ girs_dir = "../gir-files"
 generate = [
     "OSTree.AsyncProgress",
     "OSTree.BootconfigParser",
+    "OSTree.ChecksumFlags",
     "OSTree.Deployment",
     "OSTree.DeploymentUnlockedState",
+    "OSTree.DiffFlags",
+    "OSTree.DiffItem",
+    "OSTree.GpgSignatureAttr",
     "OSTree.GpgSignatureFormatFlags",
     "OSTree.GpgVerifyResult",
     "OSTree.MutableTree",
@@ -26,6 +30,7 @@ generate = [
     "OSTree.RepoCommitState",
     "OSTree.RepoDevInoCache",
     "OSTree.RepoFile",
+    "OSTree.RepoFinder",
     "OSTree.RepoListRefsExtFlags",
     "OSTree.RepoMode",
     "OSTree.RepoPruneFlags",
@@ -87,8 +92,19 @@ manual_traits = ["RepoExtManual"]
     ignore = true
 
     [[object.function]]
-    # issue with the return type of content (thinks guchar** is u8)
-    name = "write_content_async"
+    # these async functions generate bad code for different reasons
+    pattern = "write_content_async|pull_from_remotes_async|find_remotes_async"
+    ignore = true
+
+[[object]]
+name = "OSTree.RepoFinderResult"
+status = "generate"
+    [[object.function]]
+    name = "freev"
+    ignore = true
+
+    [[object.function]]
+    name = "dup"
     ignore = true
 
 [[object]]
diff --git a/rust-bindings/rust/src/auto/diff_item.rs b/rust-bindings/rust/src/auto/diff_item.rs
new file mode 100644 (file)
index 0000000..5e79189
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from gir-files (https://github.com/gtk-rs/gir-files)
+// DO NOT EDIT
+
+use glib::translate::*;
+use ostree_sys;
+
+glib_wrapper! {
+    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
+    pub struct DiffItem(Shared<ostree_sys::OstreeDiffItem>);
+
+    match fn {
+        ref => |ptr| ostree_sys::ostree_diff_item_ref(ptr),
+        unref => |ptr| ostree_sys::ostree_diff_item_unref(ptr),
+        get_type => || ostree_sys::ostree_diff_item_get_type(),
+    }
+}
index b62f254a0ff9dfc4158956606015a17352450e13..148253260dbccb477203e9cd082d619786452956 100644 (file)
@@ -53,6 +53,93 @@ impl FromGlib<ostree_sys::OstreeDeploymentUnlockedState> for DeploymentUnlockedS
     }
 }
 
+#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
+#[derive(Clone, Copy)]
+pub enum GpgSignatureAttr {
+    Valid,
+    SigExpired,
+    KeyExpired,
+    KeyRevoked,
+    KeyMissing,
+    Fingerprint,
+    Timestamp,
+    ExpTimestamp,
+    PubkeyAlgoName,
+    HashAlgoName,
+    UserName,
+    UserEmail,
+    FingerprintPrimary,
+    #[doc(hidden)]
+    __Unknown(i32),
+}
+
+impl fmt::Display for GpgSignatureAttr {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        write!(f, "GpgSignatureAttr::{}", match *self {
+            GpgSignatureAttr::Valid => "Valid",
+            GpgSignatureAttr::SigExpired => "SigExpired",
+            GpgSignatureAttr::KeyExpired => "KeyExpired",
+            GpgSignatureAttr::KeyRevoked => "KeyRevoked",
+            GpgSignatureAttr::KeyMissing => "KeyMissing",
+            GpgSignatureAttr::Fingerprint => "Fingerprint",
+            GpgSignatureAttr::Timestamp => "Timestamp",
+            GpgSignatureAttr::ExpTimestamp => "ExpTimestamp",
+            GpgSignatureAttr::PubkeyAlgoName => "PubkeyAlgoName",
+            GpgSignatureAttr::HashAlgoName => "HashAlgoName",
+            GpgSignatureAttr::UserName => "UserName",
+            GpgSignatureAttr::UserEmail => "UserEmail",
+            GpgSignatureAttr::FingerprintPrimary => "FingerprintPrimary",
+            _ => "Unknown",
+        })
+    }
+}
+
+#[doc(hidden)]
+impl ToGlib for GpgSignatureAttr {
+    type GlibType = ostree_sys::OstreeGpgSignatureAttr;
+
+    fn to_glib(&self) -> ostree_sys::OstreeGpgSignatureAttr {
+        match *self {
+            GpgSignatureAttr::Valid => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_VALID,
+            GpgSignatureAttr::SigExpired => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_SIG_EXPIRED,
+            GpgSignatureAttr::KeyExpired => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_KEY_EXPIRED,
+            GpgSignatureAttr::KeyRevoked => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_KEY_REVOKED,
+            GpgSignatureAttr::KeyMissing => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_KEY_MISSING,
+            GpgSignatureAttr::Fingerprint => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT,
+            GpgSignatureAttr::Timestamp => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_TIMESTAMP,
+            GpgSignatureAttr::ExpTimestamp => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_EXP_TIMESTAMP,
+            GpgSignatureAttr::PubkeyAlgoName => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_PUBKEY_ALGO_NAME,
+            GpgSignatureAttr::HashAlgoName => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_HASH_ALGO_NAME,
+            GpgSignatureAttr::UserName => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_USER_NAME,
+            GpgSignatureAttr::UserEmail => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_USER_EMAIL,
+            GpgSignatureAttr::FingerprintPrimary => ostree_sys::OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT_PRIMARY,
+            GpgSignatureAttr::__Unknown(value) => value
+        }
+    }
+}
+
+#[doc(hidden)]
+impl FromGlib<ostree_sys::OstreeGpgSignatureAttr> for GpgSignatureAttr {
+    fn from_glib(value: ostree_sys::OstreeGpgSignatureAttr) -> Self {
+        match value {
+            0 => GpgSignatureAttr::Valid,
+            1 => GpgSignatureAttr::SigExpired,
+            2 => GpgSignatureAttr::KeyExpired,
+            3 => GpgSignatureAttr::KeyRevoked,
+            4 => GpgSignatureAttr::KeyMissing,
+            5 => GpgSignatureAttr::Fingerprint,
+            6 => GpgSignatureAttr::Timestamp,
+            7 => GpgSignatureAttr::ExpTimestamp,
+            8 => GpgSignatureAttr::PubkeyAlgoName,
+            9 => GpgSignatureAttr::HashAlgoName,
+            10 => GpgSignatureAttr::UserName,
+            11 => GpgSignatureAttr::UserEmail,
+            12 => GpgSignatureAttr::FingerprintPrimary,
+            value => GpgSignatureAttr::__Unknown(value),
+        }
+    }
+}
+
 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
 #[derive(Clone, Copy)]
 pub enum GpgSignatureFormatFlags {
index 74541aa89402a5ab933fbd3e36ae435ed899bcfc..48aca676fd01376ddfb88d80d704124aa411e365 100644 (file)
@@ -12,6 +12,55 @@ use glib::value::Value;
 use gobject_sys;
 use ostree_sys;
 
+#[cfg(any(feature = "v2017_13", feature = "dox"))]
+bitflags! {
+    pub struct ChecksumFlags: u32 {
+        const NONE = 0;
+        const IGNORE_XATTRS = 1;
+    }
+}
+
+#[cfg(any(feature = "v2017_13", feature = "dox"))]
+#[doc(hidden)]
+impl ToGlib for ChecksumFlags {
+    type GlibType = ostree_sys::OstreeChecksumFlags;
+
+    fn to_glib(&self) -> ostree_sys::OstreeChecksumFlags {
+        self.bits()
+    }
+}
+
+#[cfg(any(feature = "v2017_13", feature = "dox"))]
+#[doc(hidden)]
+impl FromGlib<ostree_sys::OstreeChecksumFlags> for ChecksumFlags {
+    fn from_glib(value: ostree_sys::OstreeChecksumFlags) -> ChecksumFlags {
+        ChecksumFlags::from_bits_truncate(value)
+    }
+}
+
+bitflags! {
+    pub struct DiffFlags: u32 {
+        const NONE = 0;
+        const IGNORE_XATTRS = 1;
+    }
+}
+
+#[doc(hidden)]
+impl ToGlib for DiffFlags {
+    type GlibType = ostree_sys::OstreeDiffFlags;
+
+    fn to_glib(&self) -> ostree_sys::OstreeDiffFlags {
+        self.bits()
+    }
+}
+
+#[doc(hidden)]
+impl FromGlib<ostree_sys::OstreeDiffFlags> for DiffFlags {
+    fn from_glib(value: ostree_sys::OstreeDiffFlags) -> DiffFlags {
+        DiffFlags::from_bits_truncate(value)
+    }
+}
+
 #[cfg(any(feature = "v2015_7", feature = "dox"))]
 bitflags! {
     pub struct RepoCommitState: u32 {
index 968131a21f1da989ee8d373d39f2fa96a6803aa2..fe780ad6d24516039277e600e4c828e1fc64467e 100644 (file)
@@ -65,7 +65,7 @@ pub fn check_version(required_year: u32, required_release: u32) -> bool {
 //}
 
 //#[cfg(any(feature = "v2017_13", feature = "dox"))]
-//pub fn checksum_file_at<P: IsA<gio::Cancellable>>(dfd: i32, path: &str, stbuf: /*Unimplemented*/Option<Fundamental: Pointer>, objtype: ObjectType, flags: /*Ignored*/ChecksumFlags, out_checksum: &str, cancellable: Option<&P>) -> Result<(), Error> {
+//pub fn checksum_file_at<P: IsA<gio::Cancellable>>(dfd: i32, path: &str, stbuf: /*Unimplemented*/Option<Fundamental: Pointer>, objtype: ObjectType, flags: ChecksumFlags, out_checksum: &str, cancellable: Option<&P>) -> Result<(), Error> {
 //    unsafe { TODO: call ostree_sys:ostree_checksum_file_at() }
 //}
 
@@ -159,12 +159,12 @@ pub fn create_directory_metadata(dir_info: &gio::FileInfo, xattrs: Option<&glib:
     }
 }
 
-//pub fn diff_dirs<P: IsA<gio::File>, Q: IsA<gio::File>, R: IsA<gio::Cancellable>>(flags: /*Ignored*/DiffFlags, a: &P, b: &Q, modified: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 24 }, removed: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, added: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, cancellable: Option<&R>) -> Result<(), Error> {
+//pub fn diff_dirs<P: IsA<gio::File>, Q: IsA<gio::File>, R: IsA<gio::Cancellable>>(flags: DiffFlags, a: &P, b: &Q, modified: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 24 }, removed: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, added: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, cancellable: Option<&R>) -> Result<(), Error> {
 //    unsafe { TODO: call ostree_sys:ostree_diff_dirs() }
 //}
 
 //#[cfg(any(feature = "v2017_4", feature = "dox"))]
-//pub fn diff_dirs_with_options<P: IsA<gio::File>, Q: IsA<gio::File>, R: IsA<gio::Cancellable>>(flags: /*Ignored*/DiffFlags, a: &P, b: &Q, modified: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 24 }, removed: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, added: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, options: /*Ignored*/Option<&mut DiffDirsOptions>, cancellable: Option<&R>) -> Result<(), Error> {
+//pub fn diff_dirs_with_options<P: IsA<gio::File>, Q: IsA<gio::File>, R: IsA<gio::Cancellable>>(flags: DiffFlags, a: &P, b: &Q, modified: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 24 }, removed: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, added: /*Unknown conversion*//*Unimplemented*/PtrArray TypeId { ns_id: 4, id: 15 }, options: /*Ignored*/Option<&mut DiffDirsOptions>, cancellable: Option<&R>) -> Result<(), Error> {
 //    unsafe { TODO: call ostree_sys:ostree_diff_dirs_with_options() }
 //}
 
diff --git a/rust-bindings/rust/src/auto/gpg_verifier.rs b/rust-bindings/rust/src/auto/gpg_verifier.rs
new file mode 100644 (file)
index 0000000..5666ff1
--- /dev/null
@@ -0,0 +1,5 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from gir-files (https://github.com/gtk-rs/gir-files)
+// DO NOT EDIT
+
+use ostree_sys;
index 5db35766beab678b47f81810f35282838c702dfe..887d32599f41f4dd022db02e19f36e3ede8fed03 100644 (file)
@@ -26,6 +26,10 @@ mod repo_file;
 pub use self::repo_file::{RepoFile, RepoFileClass, NONE_REPO_FILE};
 pub use self::repo_file::RepoFileExt;
 
+mod repo_finder;
+pub use self::repo_finder::{RepoFinder, NONE_REPO_FINDER};
+pub use self::repo_finder::RepoFinderExt;
+
 mod se_policy;
 pub use self::se_policy::{SePolicy, SePolicyClass};
 
@@ -40,6 +44,9 @@ mod collection_ref;
 #[cfg(any(feature = "v2018_6", feature = "dox"))]
 pub use self::collection_ref::CollectionRef;
 
+mod diff_item;
+pub use self::diff_item::DiffItem;
+
 #[cfg(any(feature = "v2018_6", feature = "dox"))]
 mod remote;
 #[cfg(any(feature = "v2018_6", feature = "dox"))]
@@ -51,11 +58,17 @@ pub use self::repo_commit_modifier::RepoCommitModifier;
 mod repo_dev_ino_cache;
 pub use self::repo_dev_ino_cache::RepoDevInoCache;
 
+#[cfg(any(feature = "v2018_6", feature = "dox"))]
+mod repo_finder_result;
+#[cfg(any(feature = "v2018_6", feature = "dox"))]
+pub use self::repo_finder_result::RepoFinderResult;
+
 mod repo_transaction_stats;
 pub use self::repo_transaction_stats::RepoTransactionStats;
 
 mod enums;
 pub use self::enums::DeploymentUnlockedState;
+pub use self::enums::GpgSignatureAttr;
 pub use self::enums::GpgSignatureFormatFlags;
 pub use self::enums::ObjectType;
 pub use self::enums::RepoCheckoutMode;
@@ -66,6 +79,9 @@ pub use self::enums::RepoRemoteChange;
 pub use self::enums::StaticDeltaGenerateOpt;
 
 mod flags;
+#[cfg(any(feature = "v2017_13", feature = "dox"))]
+pub use self::flags::ChecksumFlags;
+pub use self::flags::DiffFlags;
 #[cfg(any(feature = "v2015_7", feature = "dox"))]
 pub use self::flags::RepoCommitState;
 pub use self::flags::RepoListRefsExtFlags;
@@ -109,4 +125,5 @@ pub mod traits {
     pub use super::AsyncProgressExt;
     pub use super::MutableTreeExt;
     pub use super::RepoFileExt;
+    pub use super::RepoFinderExt;
 }
diff --git a/rust-bindings/rust/src/auto/mutable_tree_iter.rs b/rust-bindings/rust/src/auto/mutable_tree_iter.rs
new file mode 100644 (file)
index 0000000..5666ff1
--- /dev/null
@@ -0,0 +1,5 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from gir-files (https://github.com/gtk-rs/gir-files)
+// DO NOT EDIT
+
+use ostree_sys;
index 7a6f96caa0d1b5954156e53e12f0636236ed50d6..dfe9f3e485e7536b618f5c767365df31533ece1a 100644 (file)
@@ -163,39 +163,6 @@ impl Repo {
     //    unsafe { TODO: call ostree_sys:ostree_repo_export_tree_to_archive() }
     //}
 
-    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
-    //pub fn find_remotes_async<P: IsA<AsyncProgress>, Q: IsA<gio::Cancellable>, R: FnOnce(Result</*Ignored*/Vec<RepoFinderResult>, Error>) + Send + 'static>(&self, refs: &[&CollectionRef], options: Option<&glib::Variant>, finders: /*Ignored*/&[RepoFinder], progress: Option<&P>, cancellable: Option<&Q>, callback: R) {
-    //    unsafe { TODO: call ostree_sys:ostree_repo_find_remotes_async() }
-    //}
-
-    //#[cfg(feature = "futures")]
-    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
-    //pub fn find_remotes_async_future<P: IsA<AsyncProgress> + Clone + 'static>(&self, refs: &[&CollectionRef], options: Option<&glib::Variant>, finders: /*Ignored*/&[RepoFinder], progress: Option<&P>) -> Box_<future::Future<Output = Result</*Ignored*/Vec<RepoFinderResult>, Error>> + std::marker::Unpin> {
-        //use gio::GioFuture;
-        //use fragile::Fragile;
-
-        //let refs = refs.clone();
-        //let options = options.map(ToOwned::to_owned);
-        //let finders = finders.clone();
-        //let progress = progress.map(ToOwned::to_owned);
-        //GioFuture::new(self, move |obj, send| {
-        //    let cancellable = gio::Cancellable::new();
-        //    let send = Fragile::new(send);
-        //    obj.find_remotes_async(
-        //        &refs,
-        //        options.as_ref().map(::std::borrow::Borrow::borrow),
-        //        &finders,
-        //        progress.as_ref().map(::std::borrow::Borrow::borrow),
-        //        Some(&cancellable),
-        //        move |res| {
-        //            let _ = send.into_inner().send(res);
-        //        },
-        //    );
-
-        //    cancellable
-        //})
-    //}
-
     #[cfg(any(feature = "v2017_15", feature = "dox"))]
     pub fn fsck_object<P: IsA<gio::Cancellable>>(&self, objtype: ObjectType, sha256: &str, cancellable: Option<&P>) -> Result<(), Error> {
         unsafe {
@@ -497,37 +464,6 @@ impl Repo {
         }
     }
 
-    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
-    //pub fn pull_from_remotes_async<P: IsA<AsyncProgress>, Q: IsA<gio::Cancellable>, R: FnOnce(Result<(), Error>) + Send + 'static>(&self, results: /*Ignored*/&[&RepoFinderResult], options: Option<&glib::Variant>, progress: Option<&P>, cancellable: Option<&Q>, callback: R) {
-    //    unsafe { TODO: call ostree_sys:ostree_repo_pull_from_remotes_async() }
-    //}
-
-    //#[cfg(feature = "futures")]
-    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
-    //pub fn pull_from_remotes_async_future<P: IsA<AsyncProgress> + Clone + 'static>(&self, results: /*Ignored*/&[&RepoFinderResult], options: Option<&glib::Variant>, progress: Option<&P>) -> Box_<future::Future<Output = Result<(), Error>> + std::marker::Unpin> {
-        //use gio::GioFuture;
-        //use fragile::Fragile;
-
-        //let results = results.clone();
-        //let options = options.map(ToOwned::to_owned);
-        //let progress = progress.map(ToOwned::to_owned);
-        //GioFuture::new(self, move |obj, send| {
-        //    let cancellable = gio::Cancellable::new();
-        //    let send = Fragile::new(send);
-        //    obj.pull_from_remotes_async(
-        //        &results,
-        //        options.as_ref().map(::std::borrow::Borrow::borrow),
-        //        progress.as_ref().map(::std::borrow::Borrow::borrow),
-        //        Some(&cancellable),
-        //        move |res| {
-        //            let _ = send.into_inner().send(res);
-        //        },
-        //    );
-
-        //    cancellable
-        //})
-    //}
-
     pub fn pull_one_dir<P: IsA<AsyncProgress>, Q: IsA<gio::Cancellable>>(&self, remote_name: &str, dir_to_pull: &str, refs_to_fetch: &[&str], flags: RepoPullFlags, progress: Option<&P>, cancellable: Option<&Q>) -> Result<(), Error> {
         unsafe {
             let mut error = ptr::null_mut();
diff --git a/rust-bindings/rust/src/auto/repo_finder.rs b/rust-bindings/rust/src/auto/repo_finder.rs
new file mode 100644 (file)
index 0000000..f879671
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from gir-files (https://github.com/gtk-rs/gir-files)
+// DO NOT EDIT
+
+use glib::object::IsA;
+use glib::translate::*;
+use ostree_sys;
+use std::fmt;
+
+glib_wrapper! {
+    pub struct RepoFinder(Interface<ostree_sys::OstreeRepoFinder>);
+
+    match fn {
+        get_type => || ostree_sys::ostree_repo_finder_get_type(),
+    }
+}
+
+impl RepoFinder {
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //pub fn resolve_all_async<P: IsA<gio::Cancellable>, Q: FnOnce(Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>) + Send + 'static>(finders: &[RepoFinder], refs: &[&CollectionRef], parent_repo: &Repo, cancellable: Option<&P>, callback: Q) {
+    //    unsafe { TODO: call ostree_sys:ostree_repo_finder_resolve_all_async() }
+    //}
+
+    //#[cfg(feature = "futures")]
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //pub fn resolve_all_async_future(finders: &[RepoFinder], refs: &[&CollectionRef], parent_repo: &Repo) -> Box_<future::Future<Output = Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>> + std::marker::Unpin> {
+        //use gio::GioFuture;
+        //use fragile::Fragile;
+
+        //let finders = finders.clone();
+        //let refs = refs.clone();
+        //let parent_repo = parent_repo.clone();
+        //GioFuture::new(&(), move |_obj, send| {
+        //    let cancellable = gio::Cancellable::new();
+        //    let send = Fragile::new(send);
+        //    Self::resolve_all_async(
+        //        &finders,
+        //        &refs,
+        //        &parent_repo,
+        //        Some(&cancellable),
+        //        move |res| {
+        //            let _ = send.into_inner().send(res);
+        //        },
+        //    );
+
+        //    cancellable
+        //})
+    //}
+}
+
+pub const NONE_REPO_FINDER: Option<&RepoFinder> = None;
+
+pub trait RepoFinderExt: 'static {
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //fn resolve_async<P: IsA<gio::Cancellable>, Q: FnOnce(Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>) + Send + 'static>(&self, refs: &[&CollectionRef], parent_repo: &Repo, cancellable: Option<&P>, callback: Q);
+
+    //#[cfg(feature = "futures")]
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //fn resolve_async_future(&self, refs: &[&CollectionRef], parent_repo: &Repo) -> Box_<future::Future<Output = Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>> + std::marker::Unpin>;
+}
+
+impl<O: IsA<RepoFinder>> RepoFinderExt for O {
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //fn resolve_async<P: IsA<gio::Cancellable>, Q: FnOnce(Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>) + Send + 'static>(&self, refs: &[&CollectionRef], parent_repo: &Repo, cancellable: Option<&P>, callback: Q) {
+    //    unsafe { TODO: call ostree_sys:ostree_repo_finder_resolve_async() }
+    //}
+
+    //#[cfg(feature = "futures")]
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //fn resolve_async_future(&self, refs: &[&CollectionRef], parent_repo: &Repo) -> Box_<future::Future<Output = Result</*Unimplemented*/PtrArray TypeId { ns_id: 1, id: 2 }, Error>> + std::marker::Unpin> {
+        //use gio::GioFuture;
+        //use fragile::Fragile;
+
+        //let refs = refs.clone();
+        //let parent_repo = parent_repo.clone();
+        //GioFuture::new(self, move |obj, send| {
+        //    let cancellable = gio::Cancellable::new();
+        //    let send = Fragile::new(send);
+        //    obj.resolve_async(
+        //        &refs,
+        //        &parent_repo,
+        //        Some(&cancellable),
+        //        move |res| {
+        //            let _ = send.into_inner().send(res);
+        //        },
+        //    );
+
+        //    cancellable
+        //})
+    //}
+}
+
+impl fmt::Display for RepoFinder {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        write!(f, "RepoFinder")
+    }
+}
diff --git a/rust-bindings/rust/src/auto/repo_finder_result.rs b/rust-bindings/rust/src/auto/repo_finder_result.rs
new file mode 100644 (file)
index 0000000..e8ece65
--- /dev/null
@@ -0,0 +1,57 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from gir-files (https://github.com/gtk-rs/gir-files)
+// DO NOT EDIT
+
+#[cfg(any(feature = "v2018_6", feature = "dox"))]
+use glib::translate::*;
+use gobject_sys;
+use ostree_sys;
+use std::cmp;
+
+glib_wrapper! {
+    #[derive(Debug, Hash)]
+    pub struct RepoFinderResult(Boxed<ostree_sys::OstreeRepoFinderResult>);
+
+    match fn {
+        copy => |ptr| gobject_sys::g_boxed_copy(ostree_sys::ostree_repo_finder_result_get_type(), ptr as *mut _) as *mut ostree_sys::OstreeRepoFinderResult,
+        free => |ptr| gobject_sys::g_boxed_free(ostree_sys::ostree_repo_finder_result_get_type(), ptr as *mut _),
+        get_type => || ostree_sys::ostree_repo_finder_result_get_type(),
+    }
+}
+
+impl RepoFinderResult {
+    //#[cfg(any(feature = "v2018_6", feature = "dox"))]
+    //pub fn new<P: IsA<RepoFinder>>(remote: &Remote, finder: &P, priority: i32, ref_to_checksum: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 1, id: 0 }/TypeId { ns_id: 0, id: 28 }, ref_to_timestamp: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 1, id: 0 }/TypeId { ns_id: 0, id: 9 }, summary_last_modified: u64) -> RepoFinderResult {
+    //    unsafe { TODO: call ostree_sys:ostree_repo_finder_result_new() }
+    //}
+
+    #[cfg(any(feature = "v2018_6", feature = "dox"))]
+    fn compare(&self, b: &RepoFinderResult) -> i32 {
+        unsafe {
+            ostree_sys::ostree_repo_finder_result_compare(self.to_glib_none().0, b.to_glib_none().0)
+        }
+    }
+}
+
+impl PartialEq for RepoFinderResult {
+    #[inline]
+    fn eq(&self, other: &Self) -> bool {
+        self.compare(other) == 0
+    }
+}
+
+impl Eq for RepoFinderResult {}
+
+impl PartialOrd for RepoFinderResult {
+    #[inline]
+    fn partial_cmp(&self, other: &Self) -> Option<cmp::Ordering> {
+        self.compare(other).partial_cmp(&0)
+    }
+}
+
+impl Ord for RepoFinderResult {
+    #[inline]
+    fn cmp(&self, other: &Self) -> cmp::Ordering {
+        self.compare(other).cmp(&0)
+    }
+}